#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>
#include <math.h>
#define ESP 0.000001

//int main()
//{
//    float a = 0.0f;
//    float b = 0.0f;
//    float c = 0.0f;
//
//
//    while ((scanf("%f %f %f", &a, &b, &c)) != EOF)
//    {
//        if (fabs(a - 0.0) < ESP)
//        {
//            printf("Not quadratic equation\n");
//        }
//        else
//        {
//            float disc = b * b - 4 * a * c;
//            if (fabs(disc - 0.0) < ESP)
//            {
//                printf("x1=x2=%.2f\n", (-b + sqrt(disc)) / (2 * a));
//            }
//            else if (disc >= ESP)  //>0 
//            {
//                printf("x1=%.2f;x2=%.2f\n", (-b - sqrt(disc)) / (2 * a), (-b + sqrt(disc)) / (2 * a));
//            }
//            else //<0
//            {
//                float real = (-b) / (2 * a);
//                float image = sqrt(-disc) / (2 * a);
//                printf("x1=%.2f-%.2fi;x2=%.2f+%.2fi\n", real, image, real, image);
//            }
//        }
//    }
//    return 0;
//}


int main()
{
    int year = 0;
    int month = 0;
    int days[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };

    while (scanf("%d %d", &year, &month) != EOF)
    {
        int  day = days[month - 1];

        if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        {
            if (month == 2)
                day++;
        }

        printf("%d\n", day);
    }

    return 0;
}